package business.dto;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.ResourceBundle;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import util.DynamicObjectHandler;
import util.ServerResponse;
import business.bl.BasicOperation;

public class GestioneCandidatoDTO implements BasicDTO {

	private int id;
	
	
	private String clienteFinale="";

	private String costo="";

	private Date dataColloquio;

	private String giorniPreavviso="";

	private Date scadenzaContratto;

	private String schedaCandidato="";

	private String schedaCliente="";
	
	
	private String target="";


	@Override
	public void setResourceBundle(ResourceBundle rb) {
		// TODO Auto-generated method stub

	}

	@Override
	public void setHeaderParameters(ArrayList<String> hp) {
		// TODO Auto-generated method stub

	}

	@Override
	public ResourceBundle getResourceBundle() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public ArrayList<String> getHeaderParameters() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getCustomFields() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void setCustomFields(String customFields) {
		// TODO Auto-generated method stub

	}
	
	
	
	

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getClienteFinale() {
		return clienteFinale;
	}

	public void setClienteFinale(String clienteFinale) {
		this.clienteFinale = clienteFinale.trim();
	}

	public String getCosto() {
		return costo;
	}

	public void setCosto(String costo) {
		this.costo = costo;
	}

	public Date getDataColloquio() {
		return dataColloquio;
	}

	public void setDataColloquio(Date dataColloquio) {
		this.dataColloquio = dataColloquio;
	}

	public String getGiorniPreavviso() {
		return giorniPreavviso;
	}

	public void setGiorniPreavviso(String giorniPreavviso) {
		this.giorniPreavviso = giorniPreavviso;
	}

	public Date getScadenzaContratto() {
		return scadenzaContratto;
	}

	public void setScadenzaContratto(Date scadenzaContratto) {
		this.scadenzaContratto = scadenzaContratto;
	}

	public String getSchedaCandidato() {
		return schedaCandidato;
	}

	public void setSchedaCandidato(String schedaCandidato) {
		this.schedaCandidato = schedaCandidato.trim();
	}

	public String getSchedaCliente() {
		return schedaCliente.trim();
	}

	public void setSchedaCliente(String schedaCliente) {
		this.schedaCliente = schedaCliente;
	}
	
	public String getTarget() {
		return target;
	}

	public void setTarget(String target) {
		this.target = target;
	}

	public String toString() {
		// DynamicObjectHandler doh = new
		// DynamicObjectHandler("PIM",getResourceBundle(),getHeaderParameters());

		// TEST
		StringBuffer sb = new StringBuffer();
		String s = "";
		

		if (clienteFinale == null) {
			clienteFinale = "";
		}
		if (costo == null) {
			costo = "";
		}
		
		if (giorniPreavviso == null) {
			giorniPreavviso = "";
		}
		if(schedaCandidato == null){
			schedaCandidato="";
		}
		
		if(schedaCliente == null){
			schedaCliente="";
		}
		
		if(target == null){
			target="";
		}
		
		
		if(target.equals("")){
			sb.append("<Pannello>");
		}else{
			sb.append("<Pannello target='"+ target + "' >");
		}
		
		sb	.append("<ID>").append(id).append("</ID>");
		
		if (scadenzaContratto != null) {
			
			String date="";
    		
			ResourceBundle rb= ResourceBundle.getBundle("bundle");
			String dateFormat=rb.getString("DATE_FORMAT");
			
    		SimpleDateFormat sdf=new SimpleDateFormat(dateFormat);
    		date=sdf.format(scadenzaContratto);
			
			sb.append("<ScadenzaContratto>").append(date).append("</ScadenzaContratto>");
		}else{
			sb.append("<ScadenzaContratto>").append("").append("</ScadenzaContratto>");
		}
		if (dataColloquio != null) {
			String date="";
    		
    		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    		date=sdf.format(dataColloquio);
			sb.append("<DataColloquio>").append(date).append("</DataColloquio>");
		}else{
			sb.append("<DataColloquio>").append("").append("</DataColloquio>");
		}
			
		sb	.append("<Preavviso>").append(giorniPreavviso).append("</Preavviso>") ;
		
		
		
		sb	.append("<SchedaCandidato>").append(schedaCandidato).append("</SchedaCandidato>")
			.append("<SchedaCliente>").append(schedaCliente).append("</SchedaCliente>")
			
			.append("<Costo>").append(costo).append("</Costo>") 
			.append("<ClienteFinale>").append(clienteFinale).append("</ClienteFinale>") 

			
		;
		sb.append("</Pannello>");

		return sb.toString();
	}
}
